package org.zfes.snowier.zbss.xzy.biz.solution.service;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import org.zfes.snowier.core.data.DataSet;
import org.zfes.snowier.core.data.SelectVo;
import org.zfes.snowier.zbss.xzy.biz.solution.model.Algorithm;
public interface IAlgorithmService{

	 Optional<Algorithm> loadAlgorithmById(Long id);
	 
	 Optional<Algorithm> loadAlgorithmByCode(String code);
	 
	 void createAlgorithm(Algorithm algorithm);
	
	 void updateAlgorithm(Algorithm algorithm);

	 void deleteAlgorithm(Long id);
	
	 DataSet loadAlgorithmDataSet(Map<String, Object> params);
	 

 	void setAlgorithmStatus(Long id, Byte status);
 	
    List<SelectVo> loadAlgorithmSelectVo(String keywords);

	List<Algorithm> loadAlgorithmByName(String name , Integer maxCount , Byte status);
	
	List<Algorithm> loadAllAlgorithm(Byte status);

	List<Algorithm> loadByIds(List<Long> algorithmIds);
    
}